Part Number Hot Search : 
HE008 PC457 13900 7206AS9 HC541 STUB030 STUB020 TN6619
Product Description
Full Text Search
 

To Download AN683 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  8/16-bit microcontrollers (mcus) application notes abstracts by topic april 2002 ref. AN683
2/68 table of contents 68 1 st6 family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 1.1 application examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 an1501:simple microcontrolled ballast . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2 programming and tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 an1369:getting started with raisonance ide for st6 mcus . . . . . . . . 9 1.3 system design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3.1 graphical design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 an676: battery charger using the st6-realizer ? . . . . . . . . . . . . . . . . 10 an677: painless "mcu" code by graphical application description 10 an839: analog multiple key decoding using the st6-realizer . . . . 10 an840: coded lock using the st6-realizer. . . . . . . . . . . . . . . . . . . . . . . . 11 an841: a clock design using the st6-realizer . . . . . . . . . . . . . . . . . . . . 11 an842: 7 segment display drive using the st6-realizer . . . . . . . . . . . 11 1.3.2 home appliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 an885: st62 microcontrollers drive home appliance motor technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.3.3 battery management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 an417: from nicd to nimh fast battery charging . . . . . . . . . . . . . . . . . 12 an859: an intelligent one hour multicharger for li-ion, nimh and nicd batteries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 an1464:low-cost double li-ion battery charger using st6255c/ st6265c mcu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3.4 motor control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 an392: microcontroller and triacs on the 110/240v mains . . . . . . . . 14 an414: controlling a brush dc motor with an st6265 mcu . . . . . . . . 14 an416: sensorless motor drive with the st62 mcu + triac. . . . . . . . 15 an422: improves universal motor drive. . . . . . . . . . . . . . . . . . . . . . . . . . 15 an863: improved sensorless control with the st62 mcu for universal motor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 an1448:how to reduce 3rd harmonics with st6200c motor control software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 an1449:st6200c universal motor drive software . . . . . . . . . . . . . . . . . 16 1
3/68 table of contents 1.4 system optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.1 cost reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 an431: using st6 analog inputs for multiple key decoding. . . . . . . 17 an594: direct software lcd drive with st621x and st626x . . . . . . . . 18 an672: optimizing the st6 a/d converter accuracy . . . . . . . . . . . . . . . 18 an673: reducing current consumption at 32khz with st62 . . . . . . . 18 1.4.2 design improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 an420: expanding a/d resolution of the st6 a/d converter. . . . . . . 19 an432: using st62xx i/o ports safely . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 an434: movement detector concepts for noisy environments . . 20 an435: designing with microcontrollers in noisy environments 20 an669: simple reset circuits for the st62 . . . . . . . . . . . . . . . . . . . . . . . . 21 an670: oscillator selection for st62 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 an671: prevention of data corruption in st6 on-chip eeprom . . . . 21 an911: st6 micro is emc champion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 an975: upgrading from st625x/6xb to st625x/6xc . . . . . . . . . . . . . . . . . 22 1.4.3 peripheral operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 an590: pwm generation with st62 auto-reload timer . . . . . . . . . . . . . 22 an591: input capture with st62 auto-reload timer . . . . . . . . . . . . . . . 23 an592: pll generation using the st62 auto-reload timer . . . . . . . . . 23 an593: st62 in-circuit programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 an678: lcd driving with st6240. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 an913: pwm generation with st62 16-bit auto-reload timer . . . . . . . 24 an914: using st626x spi as uart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 an1016:st6 using the st623xb/st628xb uart . . . . . . . . . . . . . . . . . . . . . . . . 24 an1050:st6 input capture with st62 16-bit auto-reload timer . . . . . 25 an1127:using the st62t6xc/5xc spi in master mode . . . . . . . . . . . . . . . . 25 an1447:software driver for 4-multiplexed lcd with a standard st62 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 1
4/68 table of contents 68 2 st7 family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 2.1 example drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 an969: sci communication between st7 and pc . . . . . . . . . . . . . . . . . . . 26 an970: spi communication between st7 and eeprom . . . . . . . . . . . . . . 26 an971: i2c communication between st7 and m24cxx eeprom . . . . . . . 26 an972: st7 software spi master communication. . . . . . . . . . . . . . . . . . 26 an973: sci software communication with a pc using st72251 16-bit timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 an974: real time clock with the st7 timer output compare . . . . . . 27 an976: driving a buzzer using the st7 pwm function . . . . . . . . . . . . . 27 an979: driving an analog keyboard with the st7 adc . . . . . . . . . . . . . 27 an980: st7 keypad decoding techniques, implementing wake-up on keystroke . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 an1017:using the st7 usb microcontroller . . . . . . . . . . . . . . . . . . . . . . 28 an1041:using st7 pwm signal to generate analog output (sinusoid) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 an1042:st7 routine for i2c slave mode management . . . . . . . . . . . . . . 28 an1044:multiple interrupt sources management for st7 mcus . . . 28 an1045:st7 software implementation of i2c bus master . . . . . . . . . . 28 an1046:st7 uart emulation software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 an1047:managing reception errors with the st7 sci peripheral . . 29 an1048:st7 software lcd driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 an1078:st7 timer pwm duty cycle switch for true 0% or 100% duty cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 an1082:description of the st72141 motor control peripheral registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 an1083:st72141 bldc motor control software and flowchart example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 an1105: st7 pcan peripheral driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 an1129:pwm management for bldc motor drives using the st7214131 an1130:an introduction to sensorless brushless dc motor drive applications with the st72141 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 an1148:using the st7263 for designing a usb mouse. . . . . . . . . . . . . . . 32 an1149:handling suspend mode on a usb mouse . . . . . . . . . . . . . . . . . . 33 an1180:using the st7263 kit to implement a usb game pad . . . . . . . . . 33 an1276:bldc motor start routine for the st72141 microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 an1321:using the st72141 motor control mcu in sensor mode . . . . 34 an1325:using the st7 usb low-speed firmware v4.x . . . . . . . . . . . . . . . 34 an1445:using the st7 spi to emulate a 16-bit slave . . . . . . . . . . . . . . . . 34 an1475:developing an st7265x mass storage application . . . . . . . . . 35 an1504:starting a pwm signal directly at high level using the st7 16-bit timer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1
5/68 table of contents 2.2 product evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 an910: st7 and st9 performance benchmarking . . . . . . . . . . . . . . . . . . 36 an990: st7 benefits versus industry standard . . . . . . . . . . . . . . . . . . 36 an1077:overview of enhanced can controllers for st7 and st9 mcus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 an1086:st7 / st10 u435 can-do solutions for car multiplexing . . . . 37 an1150:benchmark st72 vs pc16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 an1151:performance comparison between st72254 & pc16f8 . . . . . . 38 an1278: lin (local interconnect network) solutions . . . . . . . . . . . . . 38 2.3 product migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 an1131:migrating applications from st72511/311/214/124 to st72521/321/324 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 an1322:migrating an application from st7263 rev.b to st7263b . . . . 39 an1365:guidelines for migrating st72c254 applications to st72f264 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4 product optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 an982: using ceramic resonators with the st7 . . . . . . . . . . . . . . . . . . 40 an1014:how to minimize the st7 power consumption . . . . . . . . . . . . . . 40 an1040:monitoring the vbus signal for usb self-powered devices40 an1070:st7 checksum selfchecking capability. . . . . . . . . . . . . . . . . . . . 40 an1324:calibrating the rc oscillator of the st7flite0 mcu using the mains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 an1477:emulated data eeprom with xflash memory . . . . . . . . . . . . . . 41 an1502:emulated data eeprom with st7 hdflash memory . . . . . . . . . 41 2.5 programming and tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 an978: key features of the stvd7 st7 visual debug package . . . . . 42 an983: key features of the cosmic st7 c-compiler package . . . . . . 42 an985: executing code in st7 ram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 an986: using the st7 indirect addressing mode . . . . . . . . . . . . . . . . . . 43 an987: st7 in-circuit programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 an988: starting with st7 assembly tool chain . . . . . . . . . . . . . . . . . . . 43 an989: starting with st7 hiware c. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 an1039:st7 math utility routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 an1064:writing optimized hiware c language for st7 . . . . . . . . . . . . . 44 an1071:half duplex usb-to-serial bridge using the st72611 usb microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 an1106:translating assembly code from hc05 to st7 . . . . . . . . . . . . . 45 an1179:programming st7 flash microcontrollers in remote isp . 45 an1446:using the st72521 emulator to debug a st72324 target application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 an1478:porting an st7 panta project to codewarrior ide . . . . . . . . 46
6/68 table of contents 68 3 st9 family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47 3.1 application examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 an413: initialization of the st9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 an415: using the i2c-bus protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 an421: stack overflow detection using the st9 timer watchdog 48 an910: st7 and st9 performance benchmarking . . . . . . . . . . . . . . . . . . 48 an1069:addressing up to 4 mbytes of memory from a st9+ with a 16-bit external bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 an1075:using the st9+ memory management unit (examples for st92195 & st92r195) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 an1076:st9+ external memory interface configuration . . . . . . . . . . 49 an1087:st9+ interrupt response time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 an1366:how to use the st92163 microcontroller reset . . . . . . . . . . 49 3.2 example drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 an1043:usb suspend and resume modes on the st92163 . . . . . . . . . . . 50 an1084:getting started with the st92141 software library - version 1.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 an1277:st92141 ac motor control software library version 2.0 update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 an1367:st92141 ac motor control software library version 2.1 update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.3 product evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 an1278:lin (local interconnect network) solutions . . . . . . . . . . . . . 51 an1077:overview of enhanced can controllers for st7 and st9 mcus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.4 problem resolution guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 an1474:st92f120 and st92f120 problem resolution guidelines. . . . . 52 3.5 product optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 an1040:monitoring the vbus signal for usb self-powered devices53 an1152:optimizing the usage of the st92f120 eeprom . . . . . . . . . . . . . 53 an1479:optimizing the usage of the st92f120 eeprom . . . . . . . . . . . . . 53 an1498:designing a three phase ac inverter control & interface board with the st92141 mcu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 an1499:designing a low cost power board for the st92141 motor control mcu without using ipms . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7/68 table of contents 3.6 programming and tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 an 981: st92163 emulator and eprom footprint compatibility guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 an 984: how to use the st9 hds2v2 emulator when developing usb applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 an1275:in application programming for st92f120 . . . . . . . . . . . . . . . . . 55 an1450:st9 flash programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4 st10 family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57 4.1 example drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 an1099:dsp mac signal processing algorithms . . . . . . . . . . . . . . . . . . . 57 an1101:programming st10x167/st10f168 can interrupt drivers. . . . 57 an1102:direct memory access using mac . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.2 product evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 an1086:st7 / st10 u435 can-do solutions for car multiplexing . . . . 59 4.3 product migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 an1313:porting an application from the st10f168 to the st10f269 . 60 4.4 product optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 an1100:st10x167/f168 reducing analog-digital conversion error . 61 an1109:st10x167/f168 minimizing power consumption for spi eeproms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.5 programming and tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 an1247:st10f168 st embedded algorithm kernel (steak) for flash programming / erasing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
8/68 table of contents 68 5 tutorials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63 5.1 general purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 an886: selecting between rom and otp for a microcontroller . 63 an887: making it easy with microcontrollers . . . . . . . . . . . . . . . . . . . 63 an899: soldering recommendations and packaging information . 63 an900: introduction to semiconductor technology. . . . . . . . . . . . . 64 an902: quality and reliability information . . . . . . . . . . . . . . . . . . . . . . . 64 an1068:selecting between rom, fastrom and flash for a microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.2 product optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 an898: emc general information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 an901: emc guide-lines for microcontroller - based applications . 65 5.3 programming and tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 an912: a simple guide to development tools . . . . . . . . . . . . . . . . . . . . . 65 6 general mcu families . . . . . . . . . . . . . . . . . . . . . . . . . . . .65 an1015:st6 software techniques for improving emc performance . 65 an1181:electrostatic discharge sensitivity measurement . . . . . . . 65 an1476:low-cost power supply for home appliances . . . . . . . . . . . . 65
9/68 st6 family - application examples 1 st6 family 1.1 application examples an1501:simple microcontrolled ballast clifford ortmeyer and albert kunickis jr the purpose of this paper is to give a basic understanding of a microcontroller and its potential usage in an electronic ballast. a brief summary of how the microcontroller operates and the most common types of functions it can perform will be shown as they relate to being used in an electronic ballast. next, ideas of how to implement the most common functions and their associated advantages/weaknesses will be examined. finally, a brief summary of things that should be examined closely will be presented to help assure a good start to a basic microcon- trolled ballast design. 1.2 programming and tools an1369:getting started with raisonance ide for st6 mcus microcontroller division applications ride is the development toolchain for st62 developed by raisonance. this fully integrated development environment supports all the st62 microcontroller family and features a pow- erful macro-assembler, a linker, a c compiler and a state-of-the-art simulator and debugger. it can drive the st6-hds2, ceibo eb-st62 and softec ds6225a & ds6265a emulators. you can install the evaluation version from either the mcu on cd cd-rom or directly from the raisonance website: http://www.raisonance.com . 1
10/68 st6 family - system design 1.3 system design 1.3.1 graphical design an676:battery charger using the st6-realizer ? lionel picandet because competition becomes greater and greater it is important to reduce time to market. the st6 realizer helps to fullfill this duty. the time needed to realize a design is dramatically reduced. design of an application takes a few days instead of a few weeks. users who develop st6 applications are systems electronics engineers; often they do not know the assembler well and there are reluctant to use it. the st6 realizer allows users to design their applications using symbols known by hardware designers such as comparators, counters, multiplexers. once the design is over, the st6 realizer generates assembly code or executable code for the different st6 target hardware. an677:painless "mcu" code by graphical application description olivier rouy some electromechanics and automatics engineers hesitate to use microcontroller (mcu) so- lutions despite their recognised advantages: high integration and flexibility for enhanced fea- tures. their main worry is the unpleasant aspect of mcu application development: learning, code writing, debugging through quite unconvivial tools. fortunately, it is possible today to use these tools (and to keep the genuine integrity of the code issued) through a graphic interface. this new complete toolbox, the st6-realizer ? , al- lows a graphical description of the system, automatic code generation, simulation and debug- ging. an839:analog multiple key decoding using the st6-realizer olivier rouy design of a multiple key decoder using the a/d converter present on the st62 mcu. this note describes how the a/d convertor can be used to reduce the number of i/o lines required for key decoding. software development is carried out using the st6-realizer, and therefore does not involve writing code in assembly language. 1
11/68 st6 family - system design an840:coded lock using the st6-realizer olivier rouy design of a coded security lock. this application uses the eeprom on the st62 mcu to store the secret code. code entry and recognition is performed under software control. soft- ware development is carried out using the st6-realizer, and therefore does not involve writing code in assembly language. an841:a clock design using the st6-realizer olivier rouy design of a clock system. this note provides an example of time management using the timer embedded in the st62 mcu. current time setting and alarm time setting are carried out under software control. software development is carried out using the st6-realizer, and there- fore does not involve writing code in assembly language. an842:7 segment display drive using the st6-realizer olivier rouy design of 7-segment driver functions. this note provides an example of the use of lookup ta- bles for conversion or coding purposes. single digit and multiple digit display applications are described. software development is carried out using the st6-realizer, and therefore does not involve writing code in assembly language. 1.3.2 home appliance an885:st62 microcontrollers drive home appliance motor technology bruno maurice most domestic appliances are driven by an electric motor; for the most part, these motors are controlled in a simple and rudimentary fashion, and electronics is only now beginning to be ap- plied. this article describes the three main motor families C universal, induction and electron- ically commutated C as well as the relevant electronic control techniques, now possible thanks to the intrinsic characteristics of stmicroelectronics st62 family of microcontrollers. st62 mcus, with their wide range of on-chip peripherals, their wide supply voltage range, their built-in ruggedness and their legendary noise immunity allow truly low total system cost, thus favouring the technological advancement of electrical motor design. basic electrical topologies are described, together with their associated power and signal electronics. the relative strengths and weaknesses are explored, using practical examples, in order to illustrate the advantages of electronic control using st62 mcus. 1
12/68 st6 family - system design 1.3.3 battery management portable equipment is proliferating in the consumer, telecom and home appliance fields. this equipment requires batteries that are powerful, small, environmentally safe and fast to charge. as answers to the diversity of the applications requests, a large variety of technologies of bat- teries are available on the market. most of these batteries require a sophisticated control al- gorithm in order to achieve a fast and safe charge and to maximize the battery life time. a standard st62 microcontroller loaded with a dedicated program controls the temperature, the peak voltage (v), the dv/dt or the inflexion point of the battery voltage. it ensures that the charging stops when the electrochemical process is finished, once the battery is full and not yet heated-up. application notes an417 and an433 describe in detail the software algorithm and the hard- ware implementation for the fast charge of such batteries. the note an433 details the charging in 1/4 hour of nicd batteries using a (-deltav) method. an417 presents another con- trol technique based on the measurement of the inflexion point of the battery voltage, it is ap- plied to a nimh battery. these programs can be used as a basis for customizing such as battery discharge, gas gauge, display or an adaptation to other battery types, for instance alkaline lithium or lithium ion. an417:from nicd to nimh fast battery charging j.nicolai, l.wuidart rechargeable batteries are quickly becoming a major benefit to current lifestyles. they allow such utilities as portable telephones, camcorders, cordless power tools, portable appliances and audio equipment. the charging of rechargeable batteries often requires to take place in one hour and less for user convenience in applications which discharge rapidly, for example cordless power drills. the optimum fast charging techniques for nickel cadmium batteries are well known (please refer to an433, fast nicd battery charging using st6210 mcu), however these techniques are not suitable for the charging of batteries using the more environmentally friendly nickel hydride (nimh) technology. this application note shows the differences in the charging of the two technologies and how a fast battery charger compatible with both nicd and nimh can be made with the st6210 mcu. the mcu control shown is able to provide three level charge termination methods for safe charging. 1
13/68 st6 family - system design an859:an intelligent one hour multicharger for li-ion, nimh and nicd batteries j-m. ravon and l. wuidart a new intelligent multicharger concept, fully compatible with li-ion, nicd and nimh battery technology, illustrating the power and flexibility offered by a low-cost industry standard micro- controller and the ease with which existing designs may be adapted to cater for emerging technologies. a low-cost, high resolution, voltage measurement technique using capacitor charge time is also described. an1464:low-cost double li-ion battery charger using st6255c/st6265c mcu microcontroller division applications in everyday life, more and more portable electronic appliances, such as mobile phones, are powered by rechargeable batteries with a requirement for high capacity, small size and low weight. li-ion batteries have been widely used to support these kind of devices due to their su- perior capacity for a given size and weight. this application note explains how to use the st6255c 8-bit microcontroller in a cost-effec- tive battery charger for li-ion batteries, as implemented in the li-ion battery charger demon- stration board. the design implemented on this board is easily scaleable to other types of li- ion batteries simply by changing the software parameters and primary input voltage/current. 1.3.4 motor control microcontrollers are now commonly used to drive motors.they enable control the speed, the torque or the power on the load. they include safety features and interface to a large variety of sensors. in addition, the flexibility provided by the software enables the adaptation the same device to different types of motors and equipment for a limited cost. st62 microcontrollers operate directly on the mains with a minimum of surrounding compo- nents thanks to their integrated noise immunity. in addition their embedded a/d converter and their ability to drive directly the power stage simplify the user and power interfacing. application notes an392 and an416 describe universal motor controls where the power de- vice is a triac. an392 presents with a practical example of what an st62 microcontroller can provide in a motor drive in term of control, protection and user interface. an416 describes how the same control can be slightly adapted to achieve low cost speed compensation of the same motor without a speed sensor. application note an414 presents an innovative motor control which enables high volumic power and a large speed variation range. the motor is a dc permanent magnet motor; the power stage is a pulse width modulation chopper based on an igbt and the control is achieved by an st62 microcontroller which directly interfaces to the analog sensors and the 1
14/68 st6 family - system design power stage. these circuits can be used in a large variety of applications such as home appliances (washing machine, food processor, drill,...) and industrial systems (pump, light dimmer, alarm,...). an392:microcontroller and triacs on the 110/240v mains p. rabier, l. perier microcontrollers are in common use in most areas of electronics. they now penetrate the very cost sensitive arena of home appliance applications. the demonstration board described in this application note shows that enhanced appliances can be designed with fast prototyping time using microcontrollers such as the st6210. the circuit presented is an enhanced light dimmer operating from the 110/240v mains. it drives incandescent and halogen lamps supplied either directly from the mains or through a low voltage transformer. the same circuit can also drive a universal motor. it includes soft start and protection features. different user interfaces can be chosen: touch sensor, push button or potentiometer. all this is achieved with only few components: a microcontroller st6210, a logic level or a snubberless triac and some passive components. additional features like presence detection, ir remote control, homebus interface and motor speed control can be implemented from the existing solution. an414:controlling a brush dc motor with an st6265 mcu j. nicolai, t castagnet microcontrollers are used more and more in motor drives, most commonly to turn on and off the motor, or to control the triggering angle of a triac, associated with a universal motor. in this paper, the universal motor is replaced by a permanent magnet dc motor, which offers the ad- vantage of yielding a high power in a small volume. the variable speed drive is supplied from the rectified mains voltage, and consists of a chopper driven by a pwm signal generated by the st6265 microcontroller (mcu). the st6265 mcu measures the dc supply voltage and adjusts the pwm duty cycle accord- ingly. so the motor voltage is regulated in case of mains and load variations, the motor speed is adjusted and the motor current ripple is reduced, thus reducing acoustic noise and losses in the motor. this drive also implements a software power limitation, which avoids motor over- heating in case of excessive loading. software flexibility allows to easily modify drive parame- ters such as maximum power, time constants, etc... the drive principle and practical results are given. 1
15/68 st6 family - system design an416:sensorless motor drive with the st62 mcu + triac thierry castagnet home appliance applications require more and more electronic control in order to meet the new requests and constraints of the consumers. microcontrollers have been typically limited to high end applications because their perform- ance appear to be overrated when related to the functions of the application. in reality, home appliances require microcontrollers which trade closely on the compromise between cost and performance. this application note describes how a low cost speed drive is designed with a microcontroller, a triac and an a.c. universal motor. the control of the motor operates with sensorless speed control, based only on a motor current feedback. the example shown is adapted to food proc- essor and to drill applications. an422:improves universal motor drive jm. bourgeois/jm. charreton/p. rault universal motors are traditionally used in ac current mode of control with a triac-based con- trol circuit. this provides a low-cost circuit, but has potential drawbacks in high peak to peak current giving poor motor efficiency and high brush temperature leading to a limited motor life- time. operation in dc current mode provides a solution to these problems and also the increased efficiency allows a reduction in the size of the motor. motor noise is also reduced. this application note presents three solutions for control of a universal motor, in ac and dc current modes with a comparison of the efficiency of each. the modes covered are: C ac drive with triac, C dc drive with triac and rectifier bridge C dc drive with an igbt and rectifier bridge. in all cases the control of the drive is made by a microcontroller, the st6, with an illustration of the circuit and additional functionality possible. an863:improved sensorless control with the st62 mcu for universal motor j. nicolai, a. bailly, t. castagnet the universal motor is today the most widely used motor in home appliances (vacuum cleaner, washer, hand tool, food processor...). this note describes a speed regulator without sensor: the speed sensing is per-formed indirectly by the st6220, low-cost 8-bit microcon- troller, measuring the motor current. performance results are given, which are in line with the need of many home appliances. 1
16/68 st6 family - system design an1448:how to reduce 3rd harmonics with st6200c motor control software microcontroller division applications universal motors are widely used in home appliances such as vacuum cleaners, washing ma- chines, power tools and food processors. however, universal motors produce a strong 3rd harmonic current. when the triac conduction is not in full wave mode, the motor current con- tains high amplitude 3rd harmonics which may not comply with the 3rd harmonics limits set by the iec61000-3-2 standard. in practice, it is very difficult to comply with the harmonics standard when driving universal motors with a power of more than 1200w . this application note presents an innovative, cost-saving solution for suppressing 3rd har- monic current in the power line. the control principle is based on modulation of the phase angle delay times and is easily implemented in software using a low cost st6200c microcon- troller. the output motor current waveform is modulated so as to suppress specified harmonic components. the efficiency of this method has been proven on a 1500w vacuum cleaner under various load conditions. the measurement of harmonic components and motor power was done with a digital power meter (wt1030). the results show much better harmonic per- formance than symmetrical phase control methods. an1449:st6200c universal motor drive software microcontroller division applications this application note descri bes the software of a low-cost phase-angle motor control drive system based on a st6200c microcontroller and a btb16-600cw snubberless triac. the ap- plication has been developed by stmicroelectronics and is available as a low-cost evaluation board umc01eval. 1
17/68 st6 family - system optimization 1.4 system optimization 1.4.1 cost reduction a microcontroller can save cost by itself but also by the external components it can save. the notes presented in this chapter show how to take full advantage of the st62 flexible i/o pins and a/d converter to decrease the component count and provide enhanced features. an431 explains how to save pins on the st62 microcontroller by using only one or two i/o pins which decode a keyboard with the a/d converter. an594 proposes to use a standard st62 in a small package to drive lcd displays by modifying the i/o configuration during the operation of the microcontroller. an672 explains how to optimize the st62 a/d converter ac- curacy using a software filter to eliminate the noise coming from the input signal or from the supply. an673 suggests a simple circuit to reduce the st62 power consumption when oper- ating with a 32khz oscillator. an431:using st6 analog inputs for multiple key decoding j. stockinger the st6 on-chip analog to digital converter (adc) is a useful peripheral integrated into the silicon of the st6 family members. the flexibility of the i/o port structure allows the multi- plexing of up to 13/8 analog inputs into the converter in a 28/20 pin device for the st6210/15 2k rom and st6220/25 4k rom families, enabling full freedom in circuit layout. many other members of the st6 family also offer the analog to digital converter. one of the more novel and practical applications of this converter, is to decode a number of keys. the technique is to connect the keys by resistive voltage dividers to the converter inputs. an example of key detection using 10 keys is illustrated in this note. using the analog to digital converter in this fashion does not require a static current and avoids false key detection. 1
18/68 st6 family - system optimization an594:direct software lcd drive with st621x and st626x t.castagnet, j.nicolai, n.michel this note describes a technique for driving a liquid crystal display (lcd) with a standard st62 microcontroller, without any dedicated lcd driver. this technique offers a display capa- bility for applications which require a small display at low cost together with the versatile capa- bilities of the standard st62xx mcu. higher display requirements are easily handled by ded- icated members of the st62xx mcu family, for example the st6240. the first part of this note describes the typical waveforms required to drive an lcd correctly with a multiplexing rate of 1 or 2 (duplex). the following parts present two solutions based on standard st62 mcus driving directly the lcd. the first is based on an st6215 without using software interrupts and the second on an st6265 where the lcd is controlled by timer inter- rupts. in both examples the program size, the cpu time occupation due to the lcd drive and the number of surrounding components are minimized. consequently many additional tasks can be added to the mcu program. an672:optimizing the st6 a/d converter accuracy j.nicolai when using the internal analog to digital converter of the st62 family and maximum a/d con- verter accuracy is required, it is desirable to filter out any noise present on the analog input. this includes also noise present on the ground and vcc supply lines of the mcu as vcc is also the voltage reference of the a/d converter. while good supply decoupling with capacitors is always recommended, and placing the st6 into its wait state reduces potential noise induced by the digital switching within the mcu, digital filtering by averaging several successive a/d conversions can improve the accuracy of the conversion. this is the most effective way to get the most accuracy out of the st6 family a/d converter. the code fragment included with this note demonstrates this digital filtering which gives the best results with a trade-off against the total time for conversion. an673:reducing current consumption at 32khz with st62 c.pilon, l.perier in many cases a 32khz crystal is chosen for the oscillator of the st62 microcontroller in order to achieve the minimum current consumption in the application. this note provides a technique for minimising the current consumption when using a crystal oscillator at this frequency. this short note should be read in conjunction with application note an670, "oscillator selec- tion for the st62". 1
19/68 st6 family - system optimization 1.4.2 design improvements this section suggests ideas on how to expand the usage of st62 peripherals and how to in- crease the design safety. an420 describes a way to expand the a/d converter resolution of the st62 up to 10 or 12 bits with few external components. an435 proposes practical exam- ples on how to maximize the st62 noise immunity. it describes software and hardware solu- tions applicable in low cost, noisy applications such as power management or automotive. the other notes show with examples how to avoid corruption of i/o pins or misprogramming (an432), how to ensure a safe reset when the power supply changes (an669), how to match a crystal or a ceramic resonator to an st62 oscillator (an670) and how to prevent eeprom corruption in case of supply variation (an671). an420:expanding a/d resolution of the st6 a/d converter p. malusardi many members of the st6 microcontroller family support an integrated analog to digital con- verter. this converter allows the analog values produced by external sensors to be converted into digital form to take part in further digital control algorithms. the standard resolution of the st6 a/d converter is 8-bit. occasionally the analog signals provided require a higher resolution to extract the full dynamic range of the input. the solution described in this application note provides this higher voltage resolution using only an additional operational amplifier and a few resistors. the tradeoff in the approach shown is the total conversion time to reach the required resolution. the technique implemented is that of the algebraic adder. a full discussion of the principle of operation is given, with full st6 source code. an432:using st62xx i/o ports safely j. stockinger all members of the st62 series of microcontrollers feature i/o ports with configurable bit func- tions. in addition many i/o bits may be set as inputs to the on-chip analog to digital converter. this port bit function is in addition to the normal i/o functions of input (with or without internal pull-up resistor), output (open drain or push-pull) or edge/level selectable interrupt input (with pull-up). this flexibility makes the st62 series suitable for many industrial control applications (and for many other uses). this application note explains the architecture of the i/o bit associated with these port func- tions and provides some indications on the correct use of these features for functions such as keyboard scanning and analog inputs. the correct manner to switch between these function is also demonstrated in order to prevent potential malfunctions in operation. 1
20/68 st6 family - system optimization an434:movement detector concepts for noisy environments h. sax the sales of movement detectors, which react to human-body temperature, are increasing at a fantastic rate. no do-it-yourself shop proposes less than 4 models for sale if it is serious about its image, however the majority of clients are novices who wish to install the system themselves. this in- stallation often causes frustration, partly caused by a lack of knowledge of the operation of the system, but also by the weakness of the products. this weakness can be improved by the use of microcontrollers. most movement detectors available, whether using discrete components or integrated cir- cuits, have a similar circuit concept. this application note shows concepts on how a micro- controller with analog inputs (the st6210) can replace discrete components and add addi- tional functionality. cost is not an essential factor, but carries a high prejudice against this concept. as shown, the decision to use a microcontroller with analog inputs carries a series of advantages, together with its logical functionality. an435:designing with microcontrollers in noisy environments microcontrollers (mcu) make possible the design of integrated and flexible controls for a con- stantly decreasing cost. as a result, they are spreading rapidly among most electronic appli- cations and especially noise sensitive equipments such as for power control or automotive use. an mcu operates with sequential logic, so the control of an application can be lost during a disturbance, as with analog control, but also after a power glitch in the system. in addition, a modern mcu includes several tens of thousands of transistors switching in the mhz range, potentially radiating interference of high magnitude in a large frequency spectrum. conse- quently, noise sensitivity and generation have to be considered as early as possible in mcu based designs. this application note presents numerous methods to effectively reduce noise problems. the first part presents a short overview on noise and proposes hardware solutions to increase the equipment immunity to noise. the second part concerns the writing of software more immune to disturbances. the behaviour versus disturbances of mcus designed for noisy environ- ments, the st62 family, is presented. practical examples and results are shown. 1
21/68 st6 family - system optimization an669:simple reset circuits for the st62 t.castagnet, j.nicolai, l perier the circuit schematics shown in this application note provide examples of reset circuits for the st62xx microcontrollers. these circuits range from a very simple solution, which is only effi- cient at power up, to a circuit providing power up and power down monitoring with a delay at power on. when used with the watchdog and a software implementation, an efficient and reliable reset of the st62 can be made. an670:oscillator selection for st62 c.pilon, l.perier the purpose of this note is to give indications on how to choose a resonator or a quartz crystal in order to achieve reliable oscillation with the st62 microcontroller. this document provides first the major resonator parameters useful for a design. it then proposes measurement methods to ensure a safe oscillation. an671:prevention of data corruption in st6 on-chip eeprom c pilon the st6 microcontroller has been designed to avoid any potential corruption of data pro- grammed into its on-chip eeprom (when available). data integrity can be ensured as long as the application designer follows the guidelines provided in this note. in general, eeprom data corruption occurs whenever the reset signal is not controlled when the power supply goes up or down. this is particularly true with a slow ramp-up and/or slow fall time of the power supply, since the device may be in a supply voltage area when the device functionality is not guaranteed for a long time. if no special care is taken during the power up sequence regarding the reset signal then the microcontroller may start writing into the eeprom. the same behaviour can be present upon a power down. this note proposes two complementary solutions to prevent these unwanted actions, a soft- ware solution and a hardware solution. 1
22/68 st6 family - system optimization an911:st6 micro is emc champion david jacquinod & edouard presson since january 1996, electro-magnetic compliance is required by international law for any electrical equipment that is manufactured including a printed circuit board. as early as 1991, sgs-thomson took this change in the law into account when planning the design and man- ufacture of the st62 microcontroller family. an emc environment was installed in the design, quality and engineering center and st quality standards were enlarged to include emc per- formance criteria, with the result that the st62 microcontrollers meet the emc standards five years ahead of most 8-bit microcontrollers. this short article describes the characteristics of the st6 microcontroller in the emc context and how this benefits the customer. an975:upgrading from st625x/6xb to st625x/6xc microcontroller application team as part of a process of continuous improvement, stmicroelectronics has replaced all st62t5xb and st62t6xb devices by st62t5xc and st62t6xc. this opportunity was taken to include new features such as the low voltage detector (lvd) for safe reset, the oscillator safeguard (osg) and a new rc oscillator. this application note details these new features and draws attention to some precautions that it is mandatory to take when upgrading an application developed with b revision to c revision devices. the first part of the document is related to the silicon itself and the second one to the development tools. 1.4.3 peripheral operations this chapter explains with practical examples how to use the st62 autoreload timer for pwm generation, input capture and pll generation. an590:pwm generation with st62 auto-reload timer j.nicolai this note presents how to use the st62 8-bit auto-reload timer (artimer) for the generation of a pulse width modulated (pwm) signal tunable in frequency and duty cycle. two examples of this are shown, the first with a specific frequency and duty cycle, and the second with the generation of a 30khz pwm signal with the duty cycle proportional to an an- alog voltage converted through the on-chip analog to digital converter. an introduction to the generation of pwm using the timer, and the software for the examples are provided. 1
23/68 st6 family - system optimization an591:input capture with st62 auto-reload timer j.nicolai this note presents how to use the 8-bit auto-reload timer (artimer) of the st62 to measure time duration or frequency of an input signal. the capture mode with reset is used to measure the time elapsed between two edges of an input signal: two rising edges, two falling edges, or one rising edge and one falling edge if the configuration of the artimer is modified after the first edge is detected. the minimum duration of one signal to measure depends on the microcontroller clock and on the required precision. with an 8mhz quartz crystal, a signal of 8s duration can be measured with a resolution of 1/64. a software example is provided. an592:pll generation using the st62 auto-reload timer j.nicolai this note describes how to generate a digital signal locked in phase and frequency (pll) with a calibrated delay starting from an active edge on the 8-bit auto-reload timer (ar timer) input pin. an example is given for a digital input signal of 15khz presented to the artimer input pin. a phase-locked signal at 15khz with a falling edge delayed 19s from the input rising edge, and a duty cycle of 75%, is generated. an explanation of the function and software for the function are provided. an593:st62 in-circuit programming this note provides information on the steps required in order to perform in-circuit program- ming of st62exx eprom or otp devices for both on-chip eprom and eeprom (where available). in-circuit programming is possible if the relevant pins of the programming socket located on the st62 eprom programming tool (either an st6 starter kit, remote programming board, or gang programmer) are connected to a 16-pin connector (8x2 header), which must be pro- vided on the application by the user. note: in-circuit programming embedded in program test is not possible. if the eprom pro- grammer cable is connected to the application, the reset signal for example is tied to ground before and after programming. connections are shown for the st62e1x/2x, st62e4x and st62e6x/e9x and the corre- sponding otp devices. 1
24/68 st6 family - system optimization an678:lcd driving with st6240 olivier rouy this application note describes the basic guidelines to achieve a fast and efficient lcd drive application development. the allphanumeric lcd panel of the st624x starter-kit is used as exemple and more general concerns are highlighted. hardware and software issues are described to demonstrate the benefits brought about while using a st62 lcd driver. an913:pwm generation with st62 16-bit auto-reload timer microcontroller division application team the 16-bit autoreload timer (artimer) is a 16-bit downcounter timer with prescaler. it includes auto-reload pwm, capture and compare capability with two input and two output pins. this note presents how to use the st62 16-bit auto-reload timer (artimer) for generating a dtmf signal (dual-tone multiple frequency) with the pwm. in the example shown, the pwm output pin generates a dtmf to dial a telephone number. an914:using st626x spi as uart microcontroller division application team this note shows how to use the st626x spi to perform uart serial communication. the op- erating principles and limitations are described. an example is developed for reception and transmission at 9600 baud, however, baud rates up to 19200 can be obtained. the assembly source code of the example is provided. an1016:st6 using the st623xb/st628xb uart microcontroller division application team this brief note describes the problem/solution for managing potential spurious uart inter- rupts during reset. a short descriptive paragraph outlines the problem. this is followed by a table of values for inserting in the application program covering a range of baud rates. a short assembly code example is provided. 1
25/68 st6 family - system optimization an1050:st6 input capture with st62 16-bit auto-reload timer microcontroller division application team this note presents how to use the st62 16-bit auto-reload timer (artimer) to measure du- rations or frequencies of an input signal. an example shows how to capture an input signal to make an output signal with the same frequency as input signal but with a duty cycle equal to 50%. the artimer has a 16-bit downcounter timer with prescaler. it includes auto-reload pwm, capture and compare capability with two input and two output pins. an1127:using the st62t6xc/5xc spi in master mode microcontroller division application team to avoid problems when switching from rev b to rev c devices, special attention must be paid to the programming of the i/o port data direction register when using the spi in master mode. in rev b devices, the spi functions in master mode without depending on whether the ddr bit for the i/o port pin (pc4) used for the sck is set or reset (programmed as input or output). in rev c devices, the ddr bit has to be programmed as input (left at the reset value). an1447:software driver for 4-multiplexed lcd with a standard st62 microcontroller division applications this note describes a technique for driving a 4-multiplexed liquid crystal display (lcd) with a standard st62 microcontroller (mcu), without any dedicated lcd driver peripheral. this technique offers a display capability for applications which require a small display at a low cost together with the versatile capabilities of the standard st62xx mcu. 1
26/68 st7 family - example drivers 2 st7 family 2.1 example drivers an969:sci communication between st7 and pc microcontroller division application team this document presents a standard communications interface between a st7 microcontroller and a pc. this communication is done through the st7 sci peripheral and a serial port of the pc using the rs232 protocol. an970:spi communication between st7 and eeprom microcontroller division application team the goal of this application note is to present a practical example of communication using the spi peripheral of the st7. it shows an easy way of communicating between a st7 microcontroller and a m95xxx spi eeprom. the purpose is to perform, through spi, a write in the memory, followed by a read of the written data. an971:i2c communication between st7 and m24cxx eeprom microcontroller division application team the goal of this application note is to present an practical example of communication using the i2c peripheral of the st7. it shows a basic single master communication between a st7 mi- crocontroller and an m24cxx i2c bus eeprom. the purpose is to implement, from the st7 through the i2c interface, a write and a read to the external eeprom without error manage- ment. an972:st7 software spi master communication microcontroller division application team this application note presents a basic software driver for emulating spi full duplex communi- cation in master mode using the st7 standard i/o ports. the principles of the spi (serial pe- ripheral interface) are briefly introduced and an algorithm for 8-bit full duplex communication is described. a source assembly listing is provided at the end of the document. 1
27/68 st7 family - example drivers an973:sci software communication with a pc using st72251 16-bit timer microcontroller division application team the serial communication interface (sci) offers a flexible means of full-duplex data exchange with external equipment requiring an industry standard nrz asynchronous serial data format. this document shows how to emulate sci communication by software, using the st7 timer. the application presented is for rs232 communication between an st7 microcontroller and a pc. initialization, interrupts and receive and transmit routines are described with the aid of di- agrams and flowcharts. a source assembly listing is provided at the end of the document. an974:real time clock with the st7 timer output compare microcontroller division application team this note explains how to use the st7 timer output compare function. the application ex- ample presents a real time clock with second, minute and hour counters based on a fixed time base. flowcharts describe hardware configuration, initialization and register updating proce- dures. a source assembly code listing is given at the end of the document. an976:driving a buzzer using the st7 pwm function microcontroller division application team this musical application describes how to use the st7 pwm to generate synthesized music using a buzzer. the document covers musical score, note duration and tone generation and volume control. a source assembly listing is provided at the end of the document. an979:driving an analog keyboard with the st7 adc microcontroller division application team this application note presents a standard example of the use of the analog to digital con- verter (adc) of the st7. the st7 on-chip adc is used to emulate a 16-key analog keyboard. the hardware interfacing techniques are outlined in the first part of the document and the soft- ware is described by means of flowcharts. an assembler source listing is given at the end of the document. an980:st7 keypad decoding techniques, implementing wake-up on keystroke microcontroller division application team the goal of this application note is to present an example of the use of st7 halt mode. in this application, the mcu (here a st72251) is woken up by an external interrupt caused by pressing a key on the 4x4 matrixed keypad.
28/68 st7 family - example drivers an1017:using the st7 usb microcontroller microcontroller division application team the st7 usb interface is a universal serial bus peripheral that provides a means of con- necting a pc peripheral serving as a function to a pc host. it supports low speed data trans- fers. this application note describes an example firmware for interaction with the usb inter- face hardware and support interactions between a usb device and a host system. the asso- ciated source code of the firmware is available. an1041:using st7 pwm signal to generate analog output (sinusoid) microcontroller division application team this note shows how to use the st7 pwm/brm to generate a 50hz sinuso?d that can be tuned both in average and amplitude. this application has been done using an st72511r4. an1042:st7 routine for i2c slave mode management microcontroller division application team this application note presents a useful example of communication using the i2c peripheral of the st7. the st7 microcontroller is used as a slave and can communicate with any master. this slave, through the i2c interface, receives words from the master implementing error man- agement and returns them. this application has been implemented with a st72e251 and using 7-bit addressing mode. an1044:multiple interrupt sources management for st7 mcus microcontroller division application team the goal of this application note is to present a technique for managing several external i/o in- terrupts with a member of the st7 series of mcus (here a st72251). an1045:st7 software implementation of i2c bus master microcontroller division application team this application note implements an i 2 c communications software interface that can be used in any general-purpose st7 device without specific i 2 c on-chip peripheral hardware. the pro- gram is written in c language. it implements the i 2 c master transmitter and master receiver functions. the st7 acts as the bus master and communicates via the i 2 c bus to a slave eeprom device.
29/68 st7 family - example drivers an1046:st7 uart emulation software microcontroller division application team all members of the stmicroelectronics st7 series of microcontrollers feature a 16 bit timer with several possibilities such as output compares and input captures. this note describes a technique for emulating an rs232 uart with the st7 timer without any additional hardware. only two pins are required for the serial communication. the first part of this note will explain the protocol used for serial communication and how to adapt it for the st7 timer. the other sections of this note describe more precisely how the pro- gram deals with transmitter mode and receiver mode. timings are used to illustrate the important points. the user can easily adapt the example to his own application as only a small amount of code is required by the uart program. the software was tested by connecting a st72251 to the serial port of a pc and communi- cating in all possible modes. an1047:managing reception errors with the st7 sci peripheral microcontroller division application team this application note provides guidelines for managing communication errors with the st7 serial communications peripheral (sci) in reception mode. it describes how the st7 sci pe- ripheral works when errors occur. a explanation is given of how to interpret the various error flags and to determine if the received byte is corrupted or not. an example interrupt service routine written in assembly language is provided at the end of the document. an1048:st7 software lcd driver microcontroller division application team this note describes a technique for driving a liquid crystal display (lcd) with any standard st72 microcontroller i.e without any specific on-chip lcd driver hardware. this technique of- fers a solution for applications which require a small display at low cost together with the ver- satile capabilities of the st72 mcu. the first solution uses the st7 timer output compare fea- ture to generate the lcd timing. the second solution targets low power applications, switching the st7 into halt mode between two i/o refreshes. an external rc circuit is used to wake up the st7 using an external interrupt.
30/68 st7 family - example drivers an1078:st7 timer pwm duty cycle switch for true 0% or 100% duty cycle microcontroller division application team this application note presents a program that uses the 16-bit timer of the st7 in pwm output mode. the program can be used to perform a hot switch from one duty cycle to another and obtain a true fixed period and true duty cycle percentage values between 0% and 100%. the example program has been developed for the st7gp family (st72251g1 and g2). an1082:description of the st72141 motor control peripheral registers microcontroller division application team the st72141 is designed for contro lling brushless permanent m agnet dc motors with or without sensors. the motor control is performed by the hardware of the on-chip motor control peripheral (mtc). the mtc is functionally divided into four parts. C zero-crossing and end of demagnetisation detector C delay manager C pwm manager C channel manager an1083:st72141 bldc motor control software and flowchart example microcontroller division application team the software examples described in this application note are those generated by the st7mtc1 kanda kit. 80% of the code is generic, the remaining 20% is specific to the imple- mentation of the st72141 in the st7mtc1 kit (user interface and communication). the purpose of this application note is to give the flowcharts of the software examples showing how to drive the motor in both current and voltage modes and give examples of open loop or closed loop speed regulation. the software examples given in the file attached with this application note illustrate current mode and closed loop driving mode for a 4-pole bldc motor.
31/68 st7 family - example drivers an1105: st7 pcan peripheral driver central european mcu support the controller area network (can) norm defines a fast and robust serial bus protocol, suited for local networking of intelligent devices such as microcontrollers, sensors and actuators. it is now widely used, mostly in the automotive domain, but also for home automation and indus- trial equipment control. several members of the st7 mcu family have a built-in can peripheral named pcan, which allows them to be used as nodes in a can network. a software driver provided is by st to help you start designing and writing applications using the st7 pcan cell. the purpose of the following application note is to explain to you how to use the driver, and how it works. thus, you can either build your software from the provided files, or modify them to meet specific needs. an1129:pwm management for bldc motor drives using the st72141 microcontroller division application team brushless dc motors are efficient, quiet and can provide a very high starting torque, this is partly due to the built-in permanent magnet. for these reasons they are used more and more in a large range of applications like hard disk drives, fans, pumps, compressors, etc... how- ever brushless dc motors run properly only as synchronous motors: they need electronic cir- cuitry to run, including rotor position sensors, switching devices and a control unit. in most cases the switching devices are mosfet transistors or igbts and are organized in a three-phase bridge with free-wheeling diodes. traditionally hall sensors are used by the control unit to detect rotor position before changing motor coil to which the power applied. stmicroelectronics has introduced the st72141 microcontroller which is based on an industry standard architecture and is especially designed for driving bldc motors. one of the major advantages of the st72141 is that, without using sensors, it is capable of controlling motors precisely by reading the back electromotive force (bemf). instead of using expensive hall sensors, three resistors connecting the three windings directly to the st72141 input ports, provide the microcontroller with the rotor position information. the microcontroller replaces the standard control unit and the rotor position sensors. however, the st72141 can be used with sensors as well. although using sensorless mode has big advantages in terms of cost and size, it makes the motor drive a little bit more complicated. the purpose of this application note is to explain in which cases the st72141 motor control unit can directly read the bemf voltage and how to quickly set up its control registers in order to use all the advanced features of this product.
32/68 st7 family - example drivers an1130:an introduction to sensorless brushless dc motor drive applications with the st72141 microcontroller division application team electric motors are an essential component of our industrialised society with no less than 5 bil- lion motors built world wide every year. brushless dc motors are already used in hard disk drives and many industrial applications, and their market share is growing significantly in automotive, appliance and industrial applica- tions. the st72141 has been developed by stmicroelectronics to control synchronous motors or, more specifically, 3-phase brushless dc motors. the most common applications of this type of motor are industrial control, automotive equipment, refrigerators, air conditioners, compres- sors and fans, where brushless dc motors are already used due to their high efficiency, silent operation, compact form, reliability and longevity. the st72141 devices are members of the st7 microcontroller family designed specifically for motor control applications and including a/d converter and spi interface capabilities. they in- clude an on-chip peripheral for control of electric brushless dc motor either in sensor or sen- sorless mode. an1148:using the st7263 for designing a usb mouse microcontroller division application team this application note describes the implementation of a cost-effective usb mouse using the st7263 microcontroller. a detailed description of low-consumption power management mode (resume mode) is given in section 5. st provides a complete architecture as well as firmware drivers to help you develop your ap- plication. a list of reference documents is provided at the end of the application note. it is as- sumed that the reader is familiar with the st7263 microcontroller and usb.
33/68 st7 family - example drivers an1149:handling suspend mode on a usb mouse microcontroller division application team all usb devices must support suspend mode. suspend mode enables the devices to enter low-power mode if no bus activity is detected for more than 3.0 ms. like usb keyboards and pointing devices, usb mice must be able to exit suspend mode if a button has been pressed or if a movement has been detected. this feature is called remote wake-up mode. a remote wake-up involves a resume sequence on the usb lines and re- covery of communication between the mouse and the host. the following application note describes the implementation of suspend and remote wake-up modes on a usb mouse using the st7263 microcontroller. the first chapter focuses on the recommendations before entering suspend mode. then a description of the rc external cir- cuit for handling remote wake-up mode is detailed. it contains power management recom- mendations and rc value proposals. the third chapter describes resume mode. then chapter 4 and chapter 5 describe software implementation and program flow. it is assumed that the reader is familiar with the st7263 microcontroller and usb. an1180:using the st7263 kit to implement a usb game pad microcontroller division application team the game pad described in this application note is a low speed, self powered device. it has digital and analog capabilities for the x and y axes, and includes 10 buttons and two motors for vibration. in order to demonstrate the use of the st7263 microcontroller, we adapted this game pad to the st7263 demo kit to make a usb game pad, with usb mouse and hotkey functions. this application uses the key features of the st7263 usb microcontroller, the analog con- verter, the 3 usb endpoints (control endpoint, interrupt in, interrupt out) and pwm capabil- ities with the two output compare waveforms on port a. the source code of the software described on this application note is available from st. as with other usb devices, endpoint 0 is the control endpoint used for device enumeration. end- point 1 is an interrupt in endpoint, this allows the device to send data to the pc. this end- point is shared using the reportid capabilities specific to the hid class. in this case, the first byte sent to the pc is the reportid number. in this demo application we use three reportids: C reportid number 1 is used for the game pad data C reportid number 2 is used for the mouse data C reportid number 3 for the hotkey function endpoint 2 is an interrupt out endpoint to send data from the pc to the device. this endpoint is used to control the motors for the vibration feature.
34/68 st7 family - example drivers an1276:bldc motor start routine for the st72141 microcontroller microcontroller division applications the st72141 microcontroller has been designed by stmicroelectronics to control bldc mo- tors in sensor and sensorless modes with a patented method for detecting the back-electro- motive force zero-crossing event (see application note an1130). the purpose of this docu- ment is to describe the motor start-up routine for the st72141 microcontroller. an1321:using the st72141 motor control mcu in sensor mode microcontroller division applications the st72141k microcontroller is especially designed for brushless dc motor control applica- tions due to its following features: C motor control unit (mtc), that can be seen as a pulse width modulator multiplex on six output channels, C back electromotive force (b-emf) zero-crossing-detector for sensorless control of per- manent magnet direct current brushless motors. the mtc is designed for sensorless control but can also easily support the use of sensors (generally, hall-effect sensors) which may be useful for very low-speed or positioning applica- tions. the purpose of this application note is to describe how to initialize the motor control unit in order to run a given motor equipped with hall-effect sensors. this application note is divided into different segments with code examples given in assembly language. an1325:using the st7 usb low-speed firmware v4.x microcontroller division applications this application note describes how to use the st7 usb low-speed firmware v4.x. this firmware, written in c, using the cosmic compiler, provides a complete usb protocol layer for low-speed usb microcontrollers (such as the st7261, st7262 and st7263). the source code is available free to stmicroelectronics customers. an1445:using the st7 spi to emulate a 16-bit slave microcontroller division applications this application note describes how to emulate a 16-bit slave spi using an st7 microcon- troller with an on-chip 8-bit spi.
35/68 st7 family - example drivers an1475:developing an st7265x mass storage application microcontroller division applications this application note describes how to develop a usb mass storage application using an st7265x microcontroller. the proposed solution includes a generic usb mass storage layer (msl) compliant with the usb mass storage class that can be used for all types of storage media (flash memory cards, hard disk drive, etc.) and a dedicated media access layer (mal) add-in for each type of storage media. the msl and the mal modules are available to st customers on request. contact your st sales office to obtain the st7265 mass storage software. the msl and the mal must be considered as function libraries and therefore cannot be mod- ified by the user. the software interfaces of these function libraries provide the user with the required flexibility for designing his application: C type and number of media, C insertion/withdrawal management, C protection management, C user interface. note that the mal requires the use of certain fixed mcu pins to interface with the various me- diums. as a result, a specific application hardware configuration is required when using the mal. an1504:starting a pwm signal directly at high level using the st7 16-bit timer microcontroller division applications the 16-bit timer is a standard peripheral of the st7 microcontroller family. this peripheral can be used for a variety of purposes, including pulse length measurement of up to two input sig- nals (input capture feature) or generation of up to two output waveforms (output compare and pwm mode). this application note is about using the pwm mode of the standard 16 bit timer. it explains how to synchronize the pwm signal output. in other words, how to make sure it outputs a high state when the counter restarts after it has been stopped (for any reason) or simply when it starts at the beginning of the application. in some applications, like motor control, it may be es- sential to output the high level part of the signal duty cycle when the counter is started.
36/68 st7 family - product evaluation 2.2 product evaluation an910:st7 and st9 performance benchmarking a. albella, g. bouvier and j. pauvert stmicroelectronics has developed a set of test routines related to 8-bit and low-end 16-bit mi- crocontroller applications to evaluate computing performance and interrupt processing per- formance of microcontroller cores. these routines have been implemented on st7 and st9 microcontroller units (mcus) as well as several mcus available on the market. the routines have been written in assembler language to optimize their implementation and focus on core performance, without being dependent upon compiler code transformation. for each test, the two parameters of interest are execution time and code size. timings have been either measured whenever possible, or theoretically calculated when there was no other alternative. in most cases, programs have really run and execution times have actually been measured, so that assembly sources should not contain implementation errors and results can be considered as correct and reliable. the results of this study point out the capability of the st9+ to compete with 16-bit mcus on 8-bit and low-end 16-bit applications and confirms its position of high-end 8/16-bit mcu. it also confirms the st7 as an outstanding 8-bit mcu. an990:st7 benefits versus industry standard microcontroller division application team this note presents, from the application developers point of view, the main advantages of the st7 core over the corresponding industry standard architecture in terms of application cost, speed and flexibility. the st7 enhancements discussed include the y index register, indirect memory access mode, stack pointer access, push/pop instructions, swap instruction and interrupt vectors. an1077:overview of enhanced can controllers for st7 and st9 mcus microcontroller division applications automotive body network requirements have changed significantly in the last few years due to the introduction of osek and the increasing number of ecus. 8-bit microcontrollers are and will stay widely used in a majority of automotive body applica- tions. while a wide variety of powerful can controllers are available on the market for 16- and 32-bit microcontrollers, 8-bit microcontrollers still need too much cpu time for can communi- cation management. this application note presents a new generation of can controllers opti- mized for 8-bit microcontrollers and designed to meet the needs of body applications.
37/68 st7 family - product evaluation an1086:st7 / st10 u435 can-do solutions for car multiplexing l. perier / a. coen replacing a classical harness with a multiplexing (mux) network makes cars more competitive as it increases their flexibility and simplifies the wiring. can is the leading protocol for car mux systems thanks to its large speed spectrum and noise immunity. but each application has spe- cific constraints in terms of protocol, cost and performance. so a single node architecture does not fit all the needs. this article compares first of all, the major car mux protocols: can, j1850 and sci/uart. the second part describes optimized nodes including microcontrollers (st725x, st92f120, st10f167) with embedded flash/rom and physical line interfaces (u435). then it presents roadmaps for mcu cores, embedded flash memories and super-integrations. an1150:benchmark st72 vs pc16 microcontroller division application team this document presents the results of a competitive analysis between the stmicroelectonics st72254 and the microchip pic16f876. these two microcontrollers (mcus) have been chosen for comparison because they are in a similar performance category and were intro- duced on the market at the same time. the comparison of the two mcus is divided into two major parts. first the cores, with a com- parison of their architecture including performance benchmarks. these benchmarks are based on assembler and c routines that are representative of typical microcontroller applica- tions. the second part examines the peripherals in terms of their functionality and to what ex- tent they off-load the core and the driver software. finally, you will find a table summarizing the weak and the strong points of each mcu. two files are appended to this document, you can find them in our web server (mcu.st.com) in the application note section. the first one entitled performance comparison between st72254 and pic16f876 includes the results given in this document plus the description of the source and the compilation options used. this file was created in order to allow you to easily reproduce the benchmark. the second file regroups all the source files used. the information on the pic16f876 is based on the microchip datasheet: ds30292a.pdf
38/68 st7 family - product evaluation an1151:performance comparison between st72254 & pc16f8 microcontroller division application team stmicroelectronics has developed two sets of test routines related to 8-bit and low-end 16-bit microcontroller applications to evaluate the computing performance of microcontroller cores. these routines have been implemented on st72254 and pic16f876 microcontroller units. the first set of routines has been written in assembler language to optimize their implementa- tion and focus on core performance, without being dependent upon compiler code transforma- tion. the second set tries to evaluate the performance of the two mcus and their respective c compilers. this benchmark uses a c language program, representative of an automotive ap- plication. the c compilers used were from hiware on the st72 and from hi-tech on the pic16. the speed of the two mcus has been compared in two ways: C firstly, at the maximum frequency commercially available on each mcu. this means at an external frequency of 16mhz on the st72 and of 20mhz on the pic16. C secondly, at the same current consumption level (10ma). * this value is determined by interpolation as we can see, to reach the same consumption level on the two mcus, the pic's running fre- quency must be lowered to 10mhz (ext.) and the st72 can keep its maximum frequency of 16mhz (ext.). an1278: lin (local interconnect network) solutions microcontroller division applications many mechanical components in the automotive sector have been replaced or are now being replaced by intelligent mechatronical systems. a lot of wires are needed to connect these components. to reduce the amount of wires and to handle communications between these systems, many car manufacturers have created different bus systems that are incompatible with each other. in order to have a standard sub-bus, car manufacturers in europe have formed a consortium to define a new communications standard for the automotive sector. the new bus, called lin bus, was invented to be used in simple switching applications like car seats, door locks, sun roofs, rain sensors, mirrors and so on.
39/68 st7 family - product migration 2.3 product migration an1131:migrating applications from st72511/311/214/124 to st72521/321/324 microcontroller division applications this application note provides information on migrating st72511/311r, 314n, 314/124j ap- plications to the st72521/321r, 321/324j family. the st72521/321r, 321/324j family is de- signed and manufactured in a more recent technology. an1322:migrating an application from st7263 rev.b to st7263b microcontroller division applications this application note provides information on migrating existing st7263 rev. b based appli- cations to the new st7263b. this document: C describes the different steps required to upgrade your design environment so as to support the st7263b, C lists the device differences that must be taken into account when porting device firmware. an1365:guidelines for migrating st72c254 applications to st72f264 microcontroller division applications this application note provides information on using st72264 new series in an application orig- inally designed for the st72254, 215, 216, 104 series.
40/68 st7 family - product optimization 2.4 product optimization an982:using ceramic resonators with the st7 microcontroller division application team the goal of this application note is to show, using results obtained by murata, that ceramic res- onators can be used instead of quartz crystals. ceramic resonators are cheaper than quartz crystals and as some resonators have built-in capacitors, so they allow you to use less com- ponents. the results described here have been obtained for the st72251 but are also avail- able for st72101, st72121, st72212, st72213, st72221, st72331 and st72311. an1014:how to minimize the st7 power consumption microcontroller division application team this document presents a way of minimising the st7 power consumption for low power appli- cations. this note is based on the st72311, but is applicable to all st7 general purpose de- vices. use of st7 slow mode, wait mode and halt mode is discussed and tables with exam- ples of power consumption measurements are given. an1040:monitoring the vbus signal for usb self-powered devices microcontroller division applications one of the usb compliance checklist for peripherals items asks the following question: is the devices pull-up active only when v bus is high?. this item refers to chapter 7.1.5 device speed identification of the usb specification . it is mentioned that the voltage source on the pull-up resistor must be derived from or controlled by the power supplied on the usb cable such that when v bus is removed, the pull-up resistor does not supply current on the data line to which it is attached this applies only to self-powered devices where power does not come from v bus . an1070:st7 checksum selfchecking capability microcontroller division application team the goal of this application note is to present a software technique for determining if data and program in eprom have been corrupted and if so not to run the users program. the program described in this application note has been written for the st7gp family (st72101g1 and g2, st72121j2, st72212g2, st72213g1, st72251g1 and g2, st72311n2 and st72331n2). in this application, we chose to use a st72251g2.
41/68 st7 family - product optimization an1324:calibrating the rc oscillator of the st7flite0 mcu using the mains microcontroller division applications the purpose of this application note is to present a software solution using the frequency of the european standard mains (220v/50hz) as a timebase to adjust the internal rc oscillator of the st7flite0 to 1 mhz (1%). the same approach can also be used for the us mains standard (110v/60hz). an1477:emulated data eeprom with xflash memory microcontroller division applications when the data eeprom is not available in a st7 device, it can be emulated by the xflash memory with some restrictions. this application note describes how to emulate this feature with a st72f264 device and the restrictions this emulation implies. data eeprom can be emulated in all xflash devices (all lite, st72f344, ....). an1502:emulated data eeprom with st7 hdflash memory microcontroller division applications when the data eeprom is not available in a st7 device, it can be emulated by the hdflash memory with some restrictions. this application note describes how to emulate this feature with a st72f521 device and the restrictions this emulation implies. data eeprom can be emulated in all hdflash devices. as hdflash is a dual voltage flash memory, the 12-volt programming voltage must be provided on the application board (a pull-down on icpsel on the application board is advised).
42/68 st7 family - programming and tools 2.5 programming and tools an978:key features of the stvd7 st7 visual debug package microcontroller division application team the stvd7 is the brand new debugger developed by stmicroelectronics, which replaces the wgdb7 and which is still free of charge. this is an ide (integrated development environment) which means that the same graphical windows interface can be used for both editing and debugging. the purpose of this application note is to explain how to get started with this st visual de- bugger and the st assembly tool chain and to describe the main features of the stvd7. sim- ilar application notes have been written for the stvd7 and st7 c compilers (developed by cosmic and hiware). the following operating systems are supported: windows 95, 98, nt, 2000 (soon). an983:key features of the cosmic st7 c-compiler package microcontroller division application team cosmic software is a privately-owned company founded in 1983 in paris, france by dr. maurice fathi and jean-pierre lavandier, two engineers experienced in unix systems and embedded development tools. cosmic develops among other things c compilers and de- buggers for st7 8-bit microcontrollers. the purpose of this application note is to explain how to get started with the c cosmic tool chain and the st visual debugger developed by st (stvd7) or the ide (integrated develop- ment environment) developed by cosmic (idea: integrated development environment for embedded applications) using st7 microcontrollers. the following operating systems are supported: windows 95, 98, nt. an985:executing code in st7 ram microcontroller division application team using the st72251 as an example, this application note describes how to execute programs in the on-chip ram area of the st7. the code to be executed can be copied from the rom area or loaded from an external device such as a host system or serial device such as e2prom. with the aid of flowcharts and an example source in assembly language, this docu- ment explains the essential steps required: linking, copying the code and calling the program.
43/68 st7 family - programming and tools an986:using the st7 indirect addressing mode microcontroller division application team the st7 assembly language instruction set includes the indirect addressing mode (indexed or not indexed) for short and long variables. this document shows using examples how using the indirect addressing mode allows the programmer to write more compact code in both as- sembly and c language programs. an987:st7 in-circuit programming microcontroller division application team this application note describes the advantages of in-circuit programming vs. programming on an eprom programming board. it also documents how to implement in-circuit program- ming targeting most of the st7 general purpose microcontrollers. these devices are all the st7 mcus supported by the st7 starter kits and st7 epbs in the mdt1, mdt3 and mdt4 tool families. an988:starting with st7 assembly tool chain microcontroller division application team this document gives guidelines on how to start an st7 application design based on the st7 assembly tool chain. the st7 tool chain is a dos or unix hosted cross development system for st7 microcontroller based applications. the application note describes the use of the tool chain in the dos environment. an overview of the tool chain is given and the assembler op- tions are described. an989:starting with st7 hiware c microcontroller division application team this document gives guidelines on how to start an st7 application design based on the hi- ware c compiler chain. a description is given of how to set up a project using the hi-cross c compiler combined with the winedit editor/project management tool integrated in the hi- cross package. the st7 hi-cross/hi-light tool chain is a cross development system for st7 microcontroller applications from hiware a.g.
44/68 st7 family - programming and tools an1039:st7 math utility routines microcontroller division applications the goal of this application note is to present the following mathematical routines: - division of two 8-bit numbers - multiplication of two 16-bit numbers - division of one 32 bit number by a 16-bit one (result stored into a word) - addition of two 16-bit numbers - subtraction of two 16-bit numbers - test if a 16 bit number value is within a predefined range - binary to decimal conversion in this application, the mcu used is a st72251. an1064:writing optimized hiware c language for st7 microcontroller division applications the purpose of this note is to present how to write an optimized c software application for an st7-based embedded system. the main topics focus on how to write c source code that gen- erates the smallest code and data size. to reach this goal some specific c language exten- sions have to be used like compiler options and pragmas. an1071:half duplex usb-to-serial bridge using the st72611 usb microcontroller usb application team this application note describes how to develop a bridge that allows a rs232 peripheral to be connected to a host computer through a usb connection. communication with the host computer is based on the hid (human interface device) usb protocol, permitting a maximum speed of 800 bytes/sec with a usb low speed device. it makes development of the user host application easy by using the native hid driver and func- tions library provided by the os (operating system).
45/68 st7 family - programming and tools an1106:translating assembly code from hc05 to st7 microcontroller division application team this application note has been written to help users translate their hc05 assembly source code into st7 source code. even if both assembly languages are quite similar, the philosophy and program structure are quite different. a software translator (migr2st7) has been developed by stmicroelectronics and is available on the mcu on cd. for more information on the st7 assembly tool chain, please refer to the application note starting with st7 assembly tool chain (an988) and the software library available on in- ternet (www.st.com/product/support) or the st7 cd rom. an1179:programming st7 flash microcontrollers in remote isp microcontroller division application team this application note is divided into two parts. the first part describes the isp and flash pro- gramming specifications for the following st7 devices: st72c104, st72c124, st72c171, st72c215, st72c216, st72c254, st72c314, st72c334, st72c411 (supports two isp protocols, refer to the datasheet). the second part of this application note gives an example of how to use the isp protocol to program the flash memory and the option bytes of a st72c254, using another st7 as a programming tool. an1446:using the st72521 emulator to debug a st72324 target application microcontroller division applications the st72521 emulator is able to support development of software for the st72324 target mcu because the st72521 and st72324 are essentially compatible. the purpose of this document is to highlight the differences so you can write software which will run without mod- ification on both the st72521 emulator and the st72324 target. only functional aspects will be covered. electrical characteristics and flash programming aspects that cannot be tested on the emulator are not covered by this document. due to the fact that the st72521 emulator has been delivered in two versions, this document is divided into 2 sections corresponding to the following emulator versions and st72324 silicon version.
46/68 st7 family - programming and tools an1478:porting an st7 panta project to codewarrior ide microcontroller division applications hiware was been acquired by metrowerks in july 2000. as a result, panta ide (from hiware) is still supported but wont be improved or modified. it has been replaced by codewarrior ide from metrowerks. this application note explains how to switch from panta to metrowerks.
47/68 st9 family - application examples 3 st9 family 3.1 application examples an413:initialization of the st9 p. guillemin the st9 family offers the microprocessor designer a wide variety of architectural features and peripheral units fully configurable to the user's specific application requirements. configuration is typically implemented by simple software routines included in the power-on- or system- reset routines. the sole difficulty which the user may initially encounter stems, in fact, from the power and versatility of this approach to system design. the large number of available options means that the user must specify a large number of system parameters by initializing control register contents for the specific peripheral units. the objective of this application note is to suggest to the user a programming structure and philosophy to aid in the initial configuration of the system. the approach is illustrated by a number of specific examples selected from the wide range available. an415:using the i2c-bus protocol m. chabaud, a. dunworth the serial peripheral interface (spi) included in all st9 family members has been designed to handle a wide variety of serial bus protocols, including sbus, imbus, and i2c-bus. certain features of the popular i2c-bus serial communication standard have not been directly implemented in hardware, but may be realized with simple software routines, based on the spi contained in the standard st9 core. this application note gives an example of such routines, suitable for interfacing the st9 with a serial memory device.
48/68 st9 family - application examples an421:stack overflow detection using the st9 timer watchdog p. guillemin in real time applications, the implementation of software protection is not always easy, but al- lows reaching a high security level for the software against malfunction. this is particularly true for in-board applications in disturbed environments, such as automotive, power meter or industrial applications. to help avoid non-controlled functionality and damage to real time system due to possible per- turbations on the st9 c core and i/o port, a special peripheral able to act as a watchdog is available on all the st9 family members: the timer watchdog. a periodic restarting of the timer watchdog by program, associated with the automatic detec- tion of possible stack overflow, add to the protection of real time application software. this application note shows how to detect stack overflow by using the timer watchdog in watchdog mode. an910:st7 and st9 performance benchmarking a. albella, g. bouvier and j. pauvert stmicroelectronics has developed a set of test routines related to 8-bit and low-end 16-bit mi- crocontroller applications to evaluate computing performance and interrupt processing per- formance of microcontroller cores. these routines have been implemented on st7 and st9 microcontroller units (mcus) as well as several mcus available on the market. the routines have been written in assembler language to optimize their implementation and focus on core performance, without being dependent upon compiler code transformation. for each test, the two parameters of interest are execution time and code size. timings have been either measured whenever possible, or theoretically calculated when there was no other alternative. in most cases, programs have really run and execution times have actually been measured, so that assembly sources should not contain implementation errors and results can be considered as correct and reliable. the results of this study point out the capability of the st9+ to compete with 16-bit mcus on 8-bit and low-end 16-bit applications and confirms its position of high-end 8/16-bit mcu. it also confirms the st7 as an outstanding 8-bit mcu. an1069:addressing up to 4 mbytes of memory from a st9+ with a 16-bit external bus microcontroller division application team this application note is to help developers of st9+ applications that need to address external memory. it refers to st9+ microcontrollers which have only a 16-bit external address bus (such as the st90158). the information in this application note does not apply to st9+ micro- controllers that have a 22-bit external address bus.
49/68 st9 family - application examples an1075:using the st9+ memory management unit (examples for st92195 & st92r195) microcontroller division application team this application note describes techniques for creating software applications using the memory management unit (mmu) of the st9+. in addition, it provides useful hints on using the st9+ c compiler. a description of the main characteristics of the st9+ mmu is given. then, the c compiler is briefly described, emphasizing the memory management unit as- pects. finally, the subject matter is developed using examples for a romless and a rom mi- crocontroller, the st92r195 and the st92195 respectively. an1076:st9+ external memory interface configuration microcontroller division application team this application note presents the different st9+ resources for configuring and initializing its external memory interface. the st9+ has a single 4 mbyte memory space segmented in 64 segments of 64 kbytes, plus an independent register file space. the memory space contains internal memories (internal rom and ram with predefined addresses) and you can map your external memories (at the addresses in any segments not used for internal memories). please refer to the mmu chapter of the st9+ datasheet for more information on the way this memory space is addressed. an1087:st9+ interrupt response time microcontroller division application team this application note presents the st9+ interrupt response time calculation for each kind of in- terrupt in the best and the worst cases. the interrupt response time is the time between the in- terrupt event occurrence and the start of the corresponding interrupt service routine. the dif- ferent phases of interrupt processing are described in detail. an1366:how to use the st92163 microcontroller reset microcontroller division applications the st92163 mcu can be reset in several ways. this application note explains the different reset mechanisms available on the st92163, so you can make the best use of them when you design your application.there are 3 available reset sources that you can either use independ- ently or in conjunction with each other, depending on your application.
50/68 st9 family - example drivers 3.2 example drivers an1043:usb suspend and resume modes on the st92163 microcontroller division applications in the absence of bus traffic from any powered state for more than 3 ms, all devices that are supplied power via the universal serial bus (usb) must enter suspend mode. bus-powered devices draw current from the usb. these devices must reduce their power consumption to meet usb specifications. for power consumption values, refer to the usb specifications datasheet (version 1.1) a device in suspend mode can resume operation when any non-idle signal is received on its upstream port. it can also resume operation from the application via an external interrupt. this application note describes how to configure suspend and resume operations for st92163 microcontrollers. an1084:getting started with the st92141 software library - version 1.0 microcontroller division applications this application note describes the software library developed for the st92141 mcu. this 8/ 16-bit microcontroller contains a cell dedicated to 3-phase sine wave generation, making it suitable for standard single- and three-phase ac motor drives and uninterruptible power sup- plies (ups). an1277:st92141 ac motor control software library version 2.0 update vincent onde / microcontroller division applications and dennis nolan / power sup- ply applications lab in the continuous search for improvements, the microcontroller division of stmicroelectronics has investigated different ways of generating pwm sine waves using st92141 mcus. this document presents a new implementation of the ac motor control software from the library in- tegration point of view. an1367:st92141 ac motor control software library version 2.1 update vincent onde / microcontroller division applications and loic chossat / motor con- trol competence center this application note provides information on release 2.1 of the st92141 ac motor control firmware. the corresponding software packages (92141v21.zip or 92141v211v6x.zip) can be obtained from your local st sales offices.
51/68 st9 family - product evaluation 3.3 product evaluation an1278:lin (local interconnect network) solutions microcontroller division applications many mechanical components in the automotive sector have been replaced or are now being replaced by intelligent mechatronical systems. a lot of wires are needed to connect these components. to reduce the amount of wires and to handle communications between these systems, many car manufacturers have created different bus systems that are incompatible with each other. in order to have a standard sub-bus, car manufacturers in europe have formed a consortium to define a new communications standard for the automotive sector. the new bus, called lin bus, was invented to be used in simple switching applications like car seats, door locks, sun roofs, rain sensors, mirrors and so on. an1077:overview of enhanced can controllers for st7 and st9 mcus microcontroller division applications automotive body network requirements have changed significantly in the last few years due to the introduction of osek and the increasing number of ecus. 8-bit microcontrollers are and will stay widely used in a majority of automotive body applica- tions. while a wide variety of powerful can controllers are available on the market for 16- and 32-bit microcontrollers, 8-bit microcontrollers still need too much cpu time for can communi- cation management. this application note presents a new generation of can controllers opti- mized for 8-bit microcontrollers and designed to meet the needs of body applications.
52/68 st9 family - problem resolution guidelines 3.4 problem resolution guidelines an1474:st92f120 and st92f120 problem resolution guidelines microcontroller division applications the st92f120 and st92f150 are part of the same family of powerful microcontrollers from stmicroelectronics, featuring single voltage flash memory and an innovative e3prom con- cept. this document gives guidelines on resolving several common application problems that have been reported by st application engineers.
53/68 st9 family - product optimization 3.5 product optimization an1040:monitoring the vbus signal for usb self-powered devices microcontroller division applications one of the usb compliance checklist for peripherals items asks the following question: is the devices pull-up active only when v bus is high?. this item refers to chapter 7.1.5 device speed identification of the usb specification . it is mentioned that the voltage source on the pull-up resistor must be derived from or controlled by the power supplied on the usb cable such that when v bus is removed, the pull-up resistor does not supply current on the data line to which it is attached this applies only to self-powered devices where power does not come from v bus . an1152:optimizing the usage of the st92f120 eeprom microcontroller division applications this application note document describes the on-chip emulated eeprom of the st92f120 paying special attention to intelligent data management aspects, to optimize the cycling, in order to maximise the endurance. an1479:optimizing the usage of the st92f120 eeprom motor control competence center due to increasing consumer awareness of the need for preserving the environment and re- ducing greenhouse-effect gas emissions, washing machine manufacturers have undertaken advanced studies over the past few years that are designed to reduce the water and power consumption of their machines. they have also been encouraged to do this by european and american governments who have passed legislative measures both in technical fields as well as in the field of consumer information. these energy saving measures involve improving the performance and efficiency of the types of motors used.
54/68 st9 family - product optimization an1498:designing a three phase ac inverter control & interface board with the st92141 mcu motor control competence center this application note describes a three phase ac inverter control board capable of driving discrete igbts directly. the board edge connections allow it to be directly plugged into the power board next to the power switches. this particular system split gives several advan- tages: C improves the compactness and modularity of the whole system C keeps the power away from signals and reduces parasitic coupling and noise sensitivity C makes the power stage layout easier as well as compliance to norms C makes the system design faster and future evolution easier the board features a powerful microcontroller and all the circuits needed to interface with the power switches and the environment. a large c software library allows you to design an ac motor control application quickly and easily. an1499:designing a low cost power board for the st92141 motor control mcu without using ipms motor control competence center power modules have been in use for twenty years in industrial motor drive applications. for power stage designs, they give the advantages of compactness and good thermal behavior. over the last few years a new family of power modules, called inte lligent power modules (ipm), have tried to take the integration of motor drive power stages a step further. these ipms target lower power and lower cost motor drive systems compared to those tar- geted by standard power modules. however it is an open question whether these ipms suit high volume and very cost-sensitive applications, such as the household appliance market.
55/68 st9 family - programming and tools 3.6 programming and tools an 981:st92163 emulator and eprom footprint compatibility guidelines microcontroller division applications the purpose of this application note is to describe the means of using st92163 devices (eprom or otp) or emulators. this is due to the fact that otp devices are supplied in tqfp64 packages, while eprom devices are in cqfp64 packages and the emulation socket is based on a pqfp footprint and designed for pqfp64 packages. this document will list five solutions for using st92163 mcus or emulators: n emulation mode, n eprom mode (cqfp64 package) compatible with emulation mode, n otp mode (tqfp64 package) C yamaichi socket, reference ic149, compatible with emulation mode, C yamaichi clam shell socket, reference ic51-0644-1240ks-14584, without emulation ca- pacity, C emplas open-top socket, reference otq-64-0.8-02, without emulation capacity, n soldered tqfp64 package. an 984:how to use the st9 hds2v2 emulator when developing usb applications microcontroller division applications this application note provides certain guidelines on how to use the st9 hds2v2 emulator when developing usb applications. an1275:in application programming for st92f120 microcontroller division applications in-application programming (iap) is used to update the contents of the flash memory in the field without the use of any special hardware tools. to update firmware, the user must run the bootloader that will download the new firmware to the flash memory. once programmed, the bootloader remains permanently in the flash memory. the firmware, or user code, is the code programmed in the flash memory by the bootloader. this application note gives an example of how to implement a bootloader program on a st92f120 microcontroller and provides guidelines on how to customize this bootloader for your application needs.
56/68 st9 family - programming and tools an1450:st9 flash programming microcontroller division applications the st92f120, st92f124, st92f150 microcontrollers provide embedded flash memory and emulated e3prom. this document gives guidelines to program the st9 flash devices depending on the following three main programming situations: 1) in the manufacturing line: in-system programming. 2) in the development laboratory: with the epb. 3) in the field: in-application programming.
57/68 st10 family - example drivers 4 st10 family 4.1 example drivers an1099:dsp mac signal processing algorithms tpa communications the st10 multiply-accumulate co-processor (mac) performs common signal processing functions. the mac carries out single-cycle instructions including 32-bit signed arithmetic (ad- dition, subtraction, shift,...), 16 by 16-bit multiplication, and multiplication with cumulative sub- traction/addition. the mac includes the following components: 16 by 16 signed/unsigned par- allel multiplier, scaler (one-bit left shifter), 40-bit signed arithmetic unit, 40-bit accumulator reg- ister, data limiter, 8-bit left/right shifter and a repeat unit. a full description of the mac co-processor, including the registers and instruction summary is given in the st10r262 datasheet and the st10r262/272l user's manuals. this application note describes how to use these common signal processing algorithms, using digital filters and matrix operations as examples. the sample codes contained in this applica- tion note can be cut and pasted into your application from the pdf document format. an1101:programming st10x167/st10f168 can interrupt drivers tpa communications this application note describes the can interrupt drivers of the st10x167/st10f168 and provides programming examples that can be used to define interrupt schemes and write inter- rupt drivers. interrupt sources, the way the sources of interrupts are identified, and the two methods of han- dling interrupts are described: one using the hardware features of the can module and the other through polling internal sources. programming the can interrupt drivers through can hardware features uses rxie and txie bits in the message control register of each mes- sage object. whenever a message is transmitted or received by a message object, the corre- sponding interrupt is serviced according to its priority (based on the value of intid). this method requires minimum cpu overhead and is the preferred method for most applications. can polling generates an interrupt whenever a successful transmission or reception occurs. polling is high in cpu overhead, as the cpu is interrupted every time a message is acknowl- edged on the can bus. therefore, programming the interrupt driver using polling is only rec- ommended for small networks. sample programs are provided for each method and can used as examples.
58/68 st10 family - example drivers an1102:direct memory access using mac tpa communications direct memory access uses the st10 mac for address generation in external memory-ex- ternal memory transfers. this application note supplies the machine code for external memory - st10 internal memory transfers, and for external memory-external memory transfers made by direct memory access using the mac. for reference, the st10 long addressing mode is summarized. the st10 instruction set contains special mac instructions and two new addressing modes which supply the mac with up to 2 new operands per instruction. the mac contains a 16x16 multiplier, 40 bit accumulator a repeat unit and an address generator.
59/68 st10 family - product evaluation 4.2 product evaluation an1086:st7 / st10 u435 can-do solutions for car multiplexing l. perier / a. coen replacing a classical harness with a multiplexing (mux) network makes cars more competitive as it increases their flexibility and simplifies the wiring. can is the leading protocol for car mux systems thanks to its large speed spectrum and noise immunity. but each application has spe- cific constraints in terms of protocol, cost and performance. so a single node architecture does not fit all the needs. this article compares first of all, the major car mux protocols: can, j1850 and sci/uart. the second part describes optimized nodes including microcontrollers (st725x, st92f120, st10f167) with embedded flash/rom and physical line interfaces (u435). then it presents roadmaps for mcu cores, embedded flash memories and super-integrations.
60/68 st10 family - product migration 4.3 product migration an1313:porting an application from the st10f168 to the st10f269 tpa communications the st10f269 is a new derivative of the stmicroelectronics st10 family of 16-bit single-chip cmos micro-controllers. it is upward compatible with the st10f168. the goal of this docu- ment is to enlighten the differences between the st10f269 and st10f168 and is intended for hardware or software designers who are adapting an existing application based on the st10f168 to the st10f269. this document will present the modified functionalities of the st10f269, then the new ones before looking at the modified and the new registers. for each part, the differences with the st10f168 that may be impacting will be stressed and some advice on the way they can be handled will be given.
61/68 st10 family - product optimization 4.4 product optimization an1100:st10x167/f168 reducing analog-digital conversion error tpa communications the st10f269 is a new derivative of the stmicroelectronics st10 family of 16-bit single-chip cmos micro-controllers. it is upward compatible with the st10f168. the goal of this docu- ment is to enlighten the differences between the st10f269 and st10f168 and is intended for hardware or software designers who are adapting an existing application based on the st10f168 to the st10f269. this document will present the modified functionalities of the st10f269, then the new ones before looking at the modified and the new registers. for each part, the differences with the st10f168 that may be impacting will be stressed and some advice on the way they can be handled will be given. an1109:st10x167/f168 minimizing power consumption for spi eeproms tpa communications many industrial and automotive applications use external spi eeproms to back-up key data. power consumption must be minimized during back-up to spi eeproms. this becomes crit- ical when decoupling capacitors are used to store the energy necessary to complete the data back-up process. this application note explains how to use spi eeprom page mode operation for low power consumption, and gives advice on optimum data mapping and peripheral configurations. a c- language implementation of the spi eeprom page mode operation is contained in the ap- pendix. configurations outlined in this application note keep the st10 in idle mode for most of the write to the external eeprom. a 50% savings in power consumption can be achieved for both st10f168 and st10c167 by using spi eeprom page mode, mapping data into internal ram and stopping unused peripherals during data back-up. power consumption savings are defined by the ratio: idle current / operating current. to assess the saving for your application, check the power consumption defined in the product data sheet. features such as, built-in error detection on spi, and eeprom write protection mechanism, can be used to further secure the back-up of key data into external spi eeprom.
62/68 st10 family - programming and tools 4.5 programming and tools an1247:st10f168 st embedded algorithm kernel (steak) for flash programming / erasing tpa communications this application note describes the st embedded algorithms kernel (steak tm ), which eases the way to program and erase the on-chip flash memory of the st10f168 de- vice. in order to secure flash programming and erasing operations, and also to simplify the soft- ware development for programming and erasing the flash, the st10f168 flash is pro- grammed or erased by executing a specific sequence of instructions (called `unlock se- quence') with command and parameters loaded into gprs. the unlock sequence' invokes embedded kernel routines that checks the validity of the pa- rameters provided by the user, and decodes the command (programming or erasing) and ex- ecutes it. when performing a programming command, the embedded algorithm kernel automatically times the program pulse widths (taking in account the cpu period provided as a parameter by the user) and verifies proper cell programming. when performing an erasing command, the embedded algorithm kernel automatically pre- programs the bank to be erased if it is not already programmed. during erase, the embedded algorithm kernel automatically times the erase pulse widths (taking in account the cpu period provided as a parameter by the user) and verifies proper cell erasing.
63/68 tutorials - general purpose 5 tutorials 5.1 general purpose an886:selecting between rom and otp for a microcontroller micro division a customer who develops an mcu based application needs different levels of flexibility in the ability to perform code modifications (these levels are explained on the next page). to satisfy these requirements, sgs-thomson supports several device types: windowed eprom, otp and rom. costs are highly depending on the flexibility given to the device (ability to be easily erased or programmed). rom is the cheapest technology but provides little flexibility whereas otp and eprom are more flexible but their manufacturing cost is higher. the high cost of eprom mcu devices is due to the price of ceramic packages. this application note gives some guidelines on how to select between rom and otp. an887:making it easy with microcontrollers micro division a few years ago, system control functions were implemented using logic components and were usually large, heavy boxes. later on, microprocessors were used and the entire con- troller could fit onto a small circuit board. as the process of miniaturization continued, all of the components needed for a controller were built right onto one chip. by only including the fea- tures specific to the task, cost is relatively low. this note makes a good description of the general features of a microcontroller (cpu, memory and peripherals) and shows its typical applications. it also tackles some power supplies is- sues. an899:soldering recommendations and packaging information micro division sgs-thomson supports various package types to adapt mcus to customer requirements. beside the available mounting technology (smd or throughhole), the choice is often driven by technical and economical concerns. this application note describes the various package types used for mcus, introduces the various mounting technologies and gives soldering rec- ommendations.
64/68 tutorials - general purpose an900:introduction to semiconductor technology micro division an integrated circuit is a small but sophisticated device implementing several electronic func- tions. it is made up of two major parts: a tiny and very fragile silicon chip (die) and a package which is intended to protect the internal silicon chip and to provide users with a practical way of handling the component. this note describes the various front-end and back-end manu- facturing processes and takes the transistor as an example, because it uses the mos tech- nology. actually, this technology is used for the majority of the ics manufactured at sgs-thomson. an902:quality and reliability information micro division we think that maintaining an optimal quality level is very important but we also believe that our customers contribute to the quality chain when they handle or program our mcu devices quality is involved at each step but it is important to notice that the customer also has a major role in quality assurance. this application note describes all the stages an stmicroelectronics product need to get over to be qualified, passing the various reliability tests. an1068:selecting between rom, fastrom and flash for a microcontroller microcontroller division applications a customer who develops an mcu-based application needs various levels of flexibility in order to perform code modifications at different times in the life cycle of the product (these levels are explained on the next page). to satisfy these requirements, stmicroelectronics supports sev- eral device types within two main groups of microcontroller product families: eprom, otp, fastrom and rom microcontroller families flash, fastrom and rom microcontroller families this application note discusses the second group of families. for information on the first group, refer to application note an886.
65/68 general mcu families - product optimization 5.2 product optimization an898:emc general information micro division because many electronic circuits are in proximity to each other, it is essential that their design is not affected by external noise sources and that the circuit itself is not a noise source af- fecting other circuits. this relationship is known as electromagnetic compatibility or emc. sources of electromagnetic noise are numerous and have both natural and man-made ori- gins. this note describes some emc general information such as elelectromagnetic interfer- ence (emi) & susceptibility (ems) and give some precision about emc regulations. for detailed information regarding emc guidelines for microcontroller - based applications, please refer to an901. an901:emc guide-lines for microcontroller - based applications edouard presson and david jacquinod emc must be taken into account at the very beginning of a project; the cost of correcting an emc problem of an application encountered at the start of the production can be far greater that the cost of detailed emc study during the development phase. this note aims to provide guide-lines to the designer of microcontroller-based applications in such a way that the optimum level of emc performance can be achieved. for more general information about emc, please refer to an898. 5.3 programming and tools an912:a simple guide to development tools k. bigu mcu development tools can be used to program and evaluate one or several microcontrol- lers. this application note describes the types of tools that exist and the tasks for which they are used. with the aid of diagrams and illustrations, this application note provides easily-un- derstandable answers to questions like what are development tools?, what are the char- acteristics of high level and low level languages? or what is a debugger?. a general de- scription of hardware tools allows the purpose of various tool packages such as emulators and starter kits to be compared.
66/68 index an 392 . . . . . . . . . . . 14 an 413 . . . . . . . . . . . 47 an 414 . . . . . . . . . . . 14 an 415 . . . . . . . . . . . 47 an 416 . . . . . . . . . . . 15 an 417 . . . . . . . . . . . 12 an 420 . . . . . . . . . . . 19 an 421 . . . . . . . . . . . 48 an 422 . . . . . . . . . . . 15 an 431 . . . . . . . . . . . 17 an 432 . . . . . . . . . . . 19 an 434 . . . . . . . . . . . 20 an 435 . . . . . . . . . . . 20 an 590 . . . . . . . . . . . 22 an 591 . . . . . . . . . . . 23 an 592 . . . . . . . . . . . 23 an 593 . . . . . . . . . . . 23 an 594 . . . . . . . . . . . 18 an 669 . . . . . . . . . . . 21 an 670 . . . . . . . . . . . 21 an 671 . . . . . . . . . . . 21 an 672 . . . . . . . . . . . 18 an 673 . . . . . . . . . . . 18 an 676 . . . . . . . . . . . 10 an 677 . . . . . . . . . . . 10 an 678 . . . . . . . . . . . 24 an 839 . . . . . . . . . . . 10 an 840 . . . . . . . . . . . 11 an 841 . . . . . . . . . . . 11 an 842 . . . . . . . . . . . 11 an 859 . . . . . . . . . . . 13 an 863 . . . . . . . . . . . 15 an 885 . . . . . . . . . . . 11 an 886 . . . . . . . . . . . 63 an 887 . . . . . . . . . . . 63 an 898 . . . . . . . . . . . 65 an 899 . . . . . . . . . . . 63 an 900 . . . . . . . . . . . 64 an 901 . . . . . . . . . . . 65 an 902 . . . . . . . . . . . 64 an 910 . . . . . . . . 36, 48 an 911 . . . . . . . . . . . 22 an 912 . . . . . . . . . . . 65 an 913 . . . . . . . . . . . 24 an 914 . . . . . . . . . . 24 an 969 . . . . . . . . . . 26 an 970 . . . . . . . . . . 26 an 971 . . . . . . . . . . 26 an 972 . . . . . . . . . . 26 an 973 . . . . . . . . . . 27 an 974 . . . . . . . . . . 27 an 975 . . . . . . . . . . 22 an 976 . . . . . . . . . . 27 an 978 . . . . . . . . . . 42 an 979 . . . . . . . . . . 27 an 980 . . . . . . . . . . 27 an 981 . . . . . . . . . . 55 an 982 . . . . . . . . . . 40 an 983 . . . . . . . . . . 42 an 984 . . . . . . . . . . 55 an 985 . . . . . . . . . . 42 an 986 . . . . . . . . . . 43 an 987 . . . . . . . . . . 43 an 988 . . . . . . . . . . 43 an 989 . . . . . . . . . . 43 an 990 . . . . . . . . . . 36 an1014 . . . . . . . . . . 40 an1015 . . . . . . . . . . 65 an1016 . . . . . . . . . . 24 an1017 . . . . . . . . . . 28 an1039 . . . . . . . . . . 44 an1040 . . . . . . . 40, 53 an1041 . . . . . . . . . . 28 an1042 . . . . . . . . . . 28 an1043 . . . . . . . . . . 50 an1044 . . . . . . . . . . 28 an1045 . . . . . . . . . . 28 an1046 . . . . . . . . . . 29 an1047 . . . . . . . . . . 29 an1048 . . . . . . . . . . 29 an1050 . . . . . . . . . . 25 an1064 . . . . . . . . . . 44 an1068 . . . . . . . . . . 64 an1069 . . . . . . . . . . 48 an1070 . . . . . . . . . . 40 an1071 . . . . . . . . . . 44 an1075 . . . . . . . . . . 49 an1076 . . . . . . . . . . 49 an1077 . . . . . . . 36, 51 an1078 . . . . . . . . . . 30 an1082 . . . . . . . . . . 30 an1083 . . . . . . . . . . 30 an1084 . . . . . . . . . . 50 an1086 . . . . . . . 37, 59 an1087 . . . . . . . . . . 49 an1099 . . . . . . . . . . 57 an1100 . . . . . . . . . . 61 an1101 . . . . . . . . . . 57 an1102 . . . . . . . . . . 58 an1105 . . . . . . . . . . 31 an1106 . . . . . . . . . . 45 an1109 . . . . . . . . . . 61 an1127 . . . . . . . . . . 25 an1129 . . . . . . . . . . 31 an1130 . . . . . . . . . . 32 an1131 . . . . . . . . . . 39 an1148 . . . . . . . . . . 32 an1149 . . . . . . . . . . 33 an1150 . . . . . . . . . . 37 an1151 . . . . . . . . . . 38 an1152 . . . . . . . . . . 53 an1179 . . . . . . . . . . 45 an1180 . . . . . . . . . . 33 an1181 . . . . . . . . . . 65 an1247 . . . . . . . . . . 62 an1275 . . . . . . . . . . 55 an1276 . . . . . . . . . . 34 an1277 . . . . . . . . . . 50 an1278 . . . . . . . 38, 51 an1313 . . . . . . . . . . 60 an1321 . . . . . . . . . . 34 an1322 . . . . . . . . . . 39 an1324 . . . . . . . . . . 41 an1325 . . . . . . . . . . 34 an1365 . . . . . . . . . . 39 an1366 . . . . . . . . . . 49 an1367 . . . . . . . . . . 50 an1369 . . . . . . . . . . . 9 an1445 . . . . . . . . . . 34 an1446 . . . . . . . . . . 45 an1447 . . . . . . . . . . 25 an1448 . . . . . . . . . . 16 1
67/68 index an1449 . . . . . . . . . . 16 an1450 . . . . . . . . . . 56 an1464 . . . . . . . . . . 13 an1474 . . . . . . . . . . 52 an1475 . . . . . . . . . . 35 an1476 . . . . . . . . . . 65 an1477 . . . . . . . . . . 41 an1478 . . . . . . . . . . 46 an1479 . . . . . . . . . . 53 an1498 . . . . . . . . . . 54 an1499 . . . . . . . . . . 54 an1501 . . . . . . . . . . . 9 an1502 . . . . . . . . . . 41 an1504 . . . . . . . . . . 35 1
68/68 general mcu families - programming and tools notes : information furnished is believed to be accurate and reliable. however, stmicroelectronics assumes no responsibility for the co nsequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. no license is granted by implication or otherwise under any patent or patent rights of stmicroelectronics. specifications mentioned in this publicati on are subject to change without notice. this publication supersedes and replaces all information previously supplied. stmicroelectronics prod ucts are not authorized for use as critical components in life support devices or systems without the express written approval of stmicroele ctronics. the st logo is a registered trademark of stmicroelectronics ? 2002 stmicroelectronics - all rights reserved. purchase of i 2 c components by stmicroelectronics conveys a license under the philips i 2 c patent. rights to use these components in an i 2 c system is granted provided that the system conforms to the i 2 c standard specification as defined by philips. stmicroelectronics group of companies australia - brazil - canada - china - finland - france - germany - hong kong - india - israel - italy - japan malaysia - malta - morocco - singapore - spain - sweden - switzerland - united kingdom - u.s.a. http://www.st.com


▲Up To Search▲   

 
Price & Availability of AN683

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X